<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        /*
            箭头函数：
                ([参数]) => 返回值
        
            例子：
                无参箭头函数: () => 返回值
                一个参数的: a => 返回值
                多个参数的: (a,b) => 函数体
                多个参数的，有返回值: (a,b) => {return a+b}

                只有一个语句的函数:  () => 返回值
                只返回一个对象的函数: () => ({})
                有多行语句的函数: () => {
                    ....
                    return 返回值;
                }

            箭头函数没有自己的this，而是使用外层作用域的this
                箭头函数的this和它的调用方式无关
        */

        function fn() {
            console.log("fn -->this:", this);
        }

        const fn2 = () => {
            console.log("fn2 -->this:", this);
        }

        const obj = {
            name: "why",
            fn,
            fn2,
            sayHello(){
                console.log(this.name)

                const t2 = () => {
                    console.log("t2 -->this:", this)
                }
                t2();
            }
        }

        obj.sayHello();
    </script>
</head>
<body>
    
</body>
</html>